// unityService.ts
import { ElNotification } from 'element-plus';
import { SendMessageType, Platform } from '/@/config/DeclareGlobal';
import sendToUnity from '/@/core/communication/SendToUnity';
import { FileLoadUrl } from '/@/core/communication/interface/ISendUnity';

// 保持原有方法名和实现逻辑
export const sendMessageToUnity = async (filename: string) => {
  try {
    // 发送消息到Unity（保持原有参数结构）
    sendToUnity.send({
      type: SendMessageType.LoadModel,
      data: {
        url: `${FileLoadUrl}download/`, // 保留原有固定URL
        filename: filename,
      },
      platform: Platform.web2unity,
    });

    // 成功通知（完全保持原有配置）
    ElNotification({
      title: '成功',
      message: `文件 ${filename} 发送成功`,
      type: 'success',
      duration: 3000,
      position: 'top-right',
    });
  } catch (error) {
    // 错误通知（完全保持原有配置）
    ElNotification({
      title: '错误',
      message: `发送文件 ${filename} 失败`,
      type: 'error',
      duration: 3000,
      position: 'top-right',
    });
    throw error; // 保持错误冒泡
  }
};

// 保持原有方法名和实现逻辑
export const sendMultipleFilesToUnity = async (filenames: string[]) => {
  // if (!Array.isArray(filenames)) {
  //   ElNotification({
  //     title: '失败',
  //     message: '文件列表不是数组',
  //     type: 'error',
  //     duration: 2000,
  //     position: 'top-right',
  //   });
  //   return;
  // }
  //
  // if (filenames.length === 0) {
  //   ElNotification({
  //     title: '失败',
  //     message: '文件列表为空',
  //     type: 'error',
  //     duration: 2000,
  //     position: 'top-right',
  //   });
  //   return;
  // }

  // 保持原有顺序处理逻辑
  for (const filename of filenames) {
    // try {
    sendToUnity.send({
      type: SendMessageType.LoadModel,
      data: {
        url: `${FileLoadUrl}download/`,
        filename,
      },
      platform: Platform.web2unity,
    });

    //   ElNotification({
    //     title: '成功',
    //     message: `文件 ${filename} 发送成功`,
    //     type: 'success',
    //     duration: 3000,
    //     position: 'top-right',
    //   });
    // } catch (error) {
    //   ElNotification({
    //     title: '错误',
    //     message: `发送文件 ${filename} 失败`,
    //     type: 'error',
    //     duration: 3000,
    //     position: 'top-right',
    //   });
    // }
  }
};
